package com.xhwl.centiotdata.service.cent;

import java.util.List;

import com.xhwl.common.pojo.cent.energy.*;
import com.xhwl.common.pojo.cent.sdata.Account;
import com.xhwl.common.vo.cent.energy.EnergyListVO;
import org.springframework.cloud.openfeign.FeignClient;

import com.xhwl.common.dto.cent.eesd.EnergyStorageCarDetailSyncDTO;
import com.xhwl.common.dto.cent.energy.EesdElectricDTO;
import com.xhwl.common.dto.cent.energy.EesdElectricDetailDTO;
import com.xhwl.common.pojo.ResultJson;
import com.xhwl.common.vo.cent.eesd.DeviceHandleVO;

import feign.Param;
import feign.RequestLine;

/**
 * @Author： lianghz
 * @Description：
 * @Date 2021/09/06/ 09:55
 */
@FeignClient(name = "cent-eesd")
public interface IEesdCentService {

    @RequestLine("POST /device/baDeviceSync")
    ResultJson baDeviceSync(@Param("dots") List<EesdElectricDTO> dots);
    
    @RequestLine("POST /device/handleSync")
    ResultJson deviceHandleSync(@Param("dots") List<DeviceHandleVO> dots);

    @RequestLine("POST /device/baDeviceDetailSync")
    ResultJson baDeviceDetailSync(@Param("dots") List<EesdElectricDetailDTO> dots);

    @RequestLine("POST /eesd/energy-meter-record/insert")
    ResultJson insert(@Param("energyMeterRecord") EnergyMeterRecord energyMeterRecord);

    @RequestLine(value = "POST /eesd-service/energy_storage_car/detailSync")
    ResultJson esCarDetailSync(@Param("dots") List<EnergyStorageCarDetailSyncDTO> dots);

    @RequestLine(value = "POST /eesd-service/energy_room_wsd/detailSync")
    ResultJson roomWsdDetailSync(@Param("dots") List<EnergyRoomTempAndHumidityDevice> dots);

    @RequestLine(value = "POST /eesd-service/energy_room_oxygen/detailSync")
    ResultJson roomOxygenDetailSync(@Param("dots") List<EnergyRoomOxygenDevice> dots);

    @RequestLine(value = "POST /eesd-service/energy_room_fl/detailSync")
    ResultJson roomFlDetailSync(@Param("dots") List<EnergyRoomShuntDevice> dots);

    @RequestLine(value = "POST /eesd-service/energy_room_db/detailSync")
    ResultJson roomDbDetailSync(@Param("dots") List<EnergyRoomElectricMeter> dots);

    @RequestLine(value = "POST /eesd-service/energy_growat_env/detailSync")
    ResultJson growatEnvironmentDetailSync(@Param("dot") EnergyGrowatEnvironment dot);

    @RequestLine(value = "POST /device/deviceList")
    ResultJson deviceList(@Param(value = "energyListVO") EnergyListVO energyListVO, @Param(value = "account") Account account);

    @RequestLine(value = "POST /energy-billing/record/sync")
    void syncBillingRecord(@Param("list") String list);

    @RequestLine(value = "POST /eesd-service/energy_tree/dataSync")
    void energyTreeSync(@Param("dot") EesdElectricDetailDTO dot);
}
